<?php
/**
 * site/index.phtml
 * Vue par défaut pour les Sites
 */
?>
<?php
$title = 'Sites';
$this->headTitle($title);
?>
<div class='content-head'>
    <h3>
<?php echo $title ?>
	<img src='<?php echo $this->basePath() . '/img/rhx/refresh-16x16.png' ?>' title="Actualiser la liste" class='rhx-refresh'>
    </h3>
    <div class='toolbar'>
        <div class="toggle add" title="Ajouter">
            <!--a href="#" style="display: block; width: 100%; height: 100%;" onclick="$('.add-toggle').toggle('slow'); return false;"></a-->
            <a href="<?php echo $this->url('RHX/default', array('controller'	 => 'site', 'action'	 => 'add')) ?>" style="display: block; width: 100%; height: 100%;" ></a>
        </div>
    </div>
</div>

<div class='content-body'>
    <div class='add-toggle'>
	<div class='list-container'>
	    <table class='table table-striped list-table'>
		<thead>
		    <tr>
			<td width='25%'>Libellé</td>
			<td width='62%'>Adresse</td>
			<td width='8%'>&nbsp;</td>
		    </tr>
		</thead>
		<tbody>
		    <tr>
			<td style='text-align: center;'>
			    <a href='#' id='libelle' name='libelle' data-type='text'></a>
			</td>
			<td style='text-align: center;'>
			    <a href='#' id='adresse' name='adresse' data-type='text'></a>
			</td>
			<td style='text-align: center;'>
                            <button type='button' class='btn btn-success' onclick='return addNew();'>Ajouter</button>
                            
			</td>
		    </tr>
		</tbody>
	    </table>
	</div>
	<form id='newSite' action='#' method='post'>
	    <input type='hidden' id='data-id' name='id' value='-1'>
	    <input type='hidden' id='data-libelle' name='libelle' value=''>
	    <input type='hidden' id='data-adresse' name='adresse' value=''>
	</form>
	<form id='editSite' action='#' method='post'>
	    <input type='hidden' id='edit-id' name='id' value=''>
	    <input type='hidden' id='edit-libelle' name='libelle' value=''>
	    <input type='hidden' id='edit-adresse' name='adresse' value=''>
	</form>
    </div>

    <!-- CONTENU AJAX -->
    <div id='content-data'>
	<!-- AJAX LOADING -->
    </div>
</div>

<script type='text/javascript'>
    // Variables de controlle
    var openEdit = false;
    // Au chargement
    $(function(){
	// Chargement de la liste page 1 par défaut
	updateList();

	// Rafraichissement de la page
	$('.rhx-refresh').click(function(){
	    updateList();
	});

	// Editable
	$('#libelle').editable({
	    title : "Libellé du Site",
	    validate : function(value){
		$('#data-libelle').val(value);
	    }
	});
	$('#adresse').editable({
	    title : "Adresse du Site",
	    validate : function(value){
		$('#data-adresse').val(value);
	    }
	});
    });

/**
 * Actualiser la page
 * @param {type} page
 * @returns {Boolean}
 */
    function updateList(page){
	if(!page) page = 1;
	ajax = $.ajax({
	    type : 'post',
	    url  : '<?php echo $this->url('RHX/default', array('controller'	 => 'site', 'action'	 => 'loadIndex')) ?>/' + page
	});
	ajax.success(function(data){
	    $('#content-data').hide().html(data).fadeIn('normal');
	});
	ajax.error(function(){
	    $("#content-data").html("<div class='rh-error'>Contenu Impossible à charger</div>");
	});
	// Effacement des données précédents
	$('#edit-id').val('');
	$('#edit-libelle').val('');
	$('#edit-adresse').val('');
	openEdit = false;

	return false;
    }

    /**
     * Ajouter Nouveau Site
     *
     * @returns {Boolean}
     */
    /*function addNew(){
	// Verification
	if($('#data-libelle').val() === ''){
	    alert('Le Libellé ne peut pas être vide');
	    return false;
	}
	
	// Enregistrement dans la base de données
	ajax = $.ajax({
	    type : 'post',
	    url  : '<?php echo $this->url('RHX/default', array('controller'	 => 'site', 'action'	 => 'addNew')) ?>',
	    data : $('#newSite').serialize()
	});
	ajax.success(function(){
	    updateList();
	    // Effacement des valeurs
	    $('#data-libelle').val('');
	    $('#data-adresse').val('');
	    // Masquage de l'ajout
	    $('.add-toggle').slideUp('slow');
	});
	ajax.error(function(){
	    alert('Erreur 23 : Une erreur est survenue lors de l\'ajout d\'une nouveau Site');
	});

	return false;
    }
    */

    /**
     * Edition
     * 
     * @param {int} id
     * @returns {Boolean}
     */
    function edit(id){
	if(!id) return false;
	if(openEdit != false){
	    alert("Un Site est en Mode édition,\nVeuillez l'enregistrer d'abord");
	    return false;
	}
	// Effacement des données précédents
	$('#edit-id').val('');
	$('#edit-libelle').val('');
	$('#edit-adresse').val('');
	
	// Rendre éditable les données
	$('#libelle-' + id).editable({
	    title : 'Edition du Libellé du Site',
	    validate : function(value){
		$('#edit-libelle').val(value);
	    }
	});
	$('#adresse-' + id).editable({
	    title : 'Edition de l\'Adresse du Site',
	    validate : function(value){
		$('#edit-adresse').val(value);
	    }
	});
	// Affectation de l'id
	$('#edit-id').val(id);
	openEdit = true;

	// Affichage du bouton Save, Masquage des Boutons d'édition et suppression
	$('#edit-' + id).hide('fast');
	$('#delete-' + id).hide('fast');
	$('#save-' + id).show('fast');
	$('#cancel-' + id).show('fast');

	return false;
    }

    /**
    * Sauvegarde de l'édition en cours

     * @returns {Boolean}     */
    function save(){
	id = $('#edit-id').val();

	// Test de la validité des données
	libelle = $('#edit-libelle').val();
	if(libelle == ''){
	    alert('Le libellé ne peut être vide');
	    return false;
	}

	// Sauvegarde
	ajax = $.ajax({
	    type : 'post',
	    url  : '<?php echo $this->url('RHX/default', array('controller'	 => 'site', 'action'	 => 'save')) ?>',
	    data : $('#editSite').serialize()
	});
	ajax.success(function(){
	    reverseEdit(id);
	    updateList();
	});
	ajax.error(function(){
	    alert("Erreur 24 : Une erreur est survenue lors de la sauvegarde du Site");
	});
	openEdit = false;

	return false;
    }

    /**
     * Annulation de l'édition
     * 
     * @returns {Boolean}
     */
    function cancel(){
	// Récupération de l'Identifiant
	id = $('#edit-id').val();
	reverseEdit(id);
	updateList();

	// Effacement des données précédents
	$('#edit-id').val('');
	$('#edit-libelle').val('');
	$('#edit-adresse').val('');

	openEdit = false;

	return false;
    }

    /**
     * Annule l'édition
     *
     * @param {int} id
     * @returns {Boolean}
     */
    function reverseEdit(id){
	$('#libelle-' + id).editable('toggleDisabled');
	$('#adresse-' + id).editable('toggleDisabled');
	// Masquage du bouton Save, Affichage des Boutons d'édition et suppression
	$('#edit-' + id).show('fast');
	$('#delete-' + id).show('fast');
	$('#save-' + id).hide('fast');
	$('#cancel-' + id).hide('fast');

	return false;
    }

    /**
     * Suppression d'un Site
     * 
     * @param {int} id
     * @returns {Boolean}
     */
    function erase(id){
	if(!id) return false;
	conf = confirm("Voulez-vous effacer ce Site ?");
	if(conf !== true)
	    return false;

	ajax = $.ajax({
	    type : 'post',
	    url  : '<?php echo $this->url('RHX/default', array('controller'	 => 'site', 'action'	 => 'erase')) ?>/' + id
	});
	ajax.success(function(){
	    updateList();
	});
	ajax.error(function(){
	    alert("Erreur 25 : Une erreur est survenue lors de la suppression du Site");
	});

	return false;
    }
</script>
